#include "SparseMatrix.h"
#include "Solver.h"
#include "Mathematix.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <omp.h>
#include <time.h>

#define DIMENSIONS 2

//#include "Substrate.h"
#define DX 13.



#define NO_NEGATIVES
//#define INIT_OXY 0.07
//#define INIT_GLU 0.8

// symmetric properties => CG
// FREE == LIQUID
//#define FREE_DIFFUSION_SPEEDUP 20.//15.
// FREE == TISSUE
//#define FREE_DIFFUSION_SPEEDUP 1.
#define PRECONDITIONED

// assymmetric properties => Newton
//#define FREE_IS_BOUNDARY
#define BORDER_IS_BOUNDARY


//#define CRANK_NICHOLSON
#define STEADY_STATE

#define PARTLY_LINEARIZED

#define DONT_ACTUALIZE_MATRIX 0
#define ACTUALIZE_MATRIX      1

#define DONT_ACTUALIZE_VECTOR 0
#define ACTUALIZE_VECTOR      1


#define CG_CRITICAL_ERROR		1e-5//0.5
#define NEWTON_CRITICAL_ERROR	0.5

#define COUPLING


//NOTES
// STEADY_STATE best
// PRECONDITIONED works fine
// lysis is bad
// migration is bad
// value reset to INIT_OXY and INIT_GLU worked fine



